#define _CRT_SECURE_NO_WARNINGS 
//#include<stdio.h>
//#include<stdlib.h>
//#include<math.h>
//long long phi(long long n)
//{
//	long long result = n;
//	long long i = 0;
//    for (i = 2; i * i < n; i++)
//	{
//		if (n % i == 0)
//		{
//			result -= result / i;
//		}
//		while (n % i == 0)
//		{
//			n /= i;
//		}
//	}
//	if (n > 1)
//	{
//		result -= result / n;
//	}
//	return result;
//}
//int main()
//{
//	long long n = 0;
//	scanf("%lld", &n);
//	long long result = phi(n);
//	printf("%lld", result);
//	return 0;
//}
//#include<stdio.h>
//#include<stdlib.h>
//#include<string.h>
//int main()
//{
//	char str[1000];
//	gets(str);
//	int i = 0;
//	int j = 0;
//	int len = strlen(str);
//	int sum = 0;
//	for (i = 0; i < len; i++)
//	{
//		if (str[i] >= '0' && str[i] <= '9')
//		{
//			sum += (str[i] - '0') * j;
//			j++;
//		}
//	}
//	int result = sum % 11;
//	char right[1000];
//	for (i = 0; i < len - 1; i++)
//	{
//		right[i] = str[i];
//	}
//	if (result == 10)
//	{
//		right[len - 1] = 'X';
//	}
//	else
//	{
//		right[len - 1] = result + '0';
//	}
//	if (strcmp(str, right) == 0)
//	{
//		printf("Right\n");
//	}
//	else
//	{
//		printf("%s", right);
//	}
//	return 0;
//}
//#include<stdio.h>
//#include<stdlib.h>
//#include<string.h>
//#include<ctype.h>
//int main()
//{
//	char str[100];
//	scanf("%s", str);
//	int i = 0;
//	int j = 1;
//	int sum = 0;
//	for (i = 0; i < strlen(str) - 1; i++)
//	{
//		if (isdigit(str[i]))
//		{
//			sum += (str[i] - '0') * j;
//			j++;
//		}
//	}
//	int remainder = sum % 11;
//	char correct_check_digit;
//	if (remainder == 10)
//	{
//		correct_check_digit = 'X';
//	}
//	else
//	{
//		correct_check_digit = remainder + '0';
//	}
//	if (str[strlen(str) - 1] == correct_check_digit)
//	{
//		printf("Right\n");
//	}
//	else
//	{
//		str[strlen(str) - 1] = correct_check_digit;
//		printf("%s", str);
//	}
//	return 0;
//}
//#include<stdio.h>
//#include<math.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int m = 3;
//	int sum = n * m;
//	int i = 0;
//	int arr[100];
//	int b[100];
//	int count = 0;
//	int k = 0;
//	int j = 0;
//	for (i = 1; 1 <= n * m; i++)
//	{
//		if (n * m % i == 0)
//		{
//			arr[k++] = i;
//			count++;
//		}
//	}
//	k = 0;
//	int count_1 = 0;
//	for (i = 0; i < count; i++)
//	{
//		int found = 1;
//		for (j = 2; j <= sqrt(i); j++)
//		{
//			if (arr[i] % j == 0)
//			{
//				found = 0;
//				break;
//			}
//		}
//		if (!found)
//		{
//			b[k++] = i;
//			count_1++;
//		}
//	}
//	int c[100];
//	k = 0;
//	int count_2 = 0;
//	int count_3 = 0;
//	for (i = 0; i < count; i++)
//	{
//		for (j = 0; j < count_1; j++)
//		{
//			if (b[j] != arr[i])
//			{
//				if (count_3 == count_1)
//				{
//					c[k++] = arr[i];
//				}
//				count_3++;
//				count_2++;
//			}
//		}
//	} 
//	int result = count_1 * count_2;
//	printf("%d\n", result);
//	return 0;
//}
#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int i = 0;
	int j = 0;
	for (i = 1; i <= n - 1; i++)
	{
		for (j = 1; j <= i; j++)
		{
			printf("%d * %d = %d ", i, j, i * j);
		}
		printf("\n");
	}
	return 0;
}